// let target={
//   value:42,
//   name:"target"
// }

// let proxy=new Proxy(target,{
//   deleteProperty(trapTarget,key){
//     if(key=='value'){
//       return false;
//     }else{
//       return Reflect.deleteProperty(trapTarget,key)
//     }
//   }
// })

// console.log('name' in proxy); // true
// let result1 = delete proxy.name;
// console.log(result1); // false
// console.log('name' in proxy); // true

let target=function(){
  return 42
}

let proxy=new Proxy(target,{
  apply:function(trapTarget,thisArg,argumentList){
    return Reflect.apply(trapTarget,thisArg,argumentList)
  },
  construct:function(trapTarget,argumentList){
    return Reflect.construct(trapTarget,argumentList)
  }
})


